package cn.lingyangwl.agile.msg.push.api;

import cn.lingyangwl.agile.msg.push.api.constatnts.*;
import cn.lingyangwl.agile.msg.push.api.model.rqrs.*;

import java.util.List;

/**
 * @author shenguangyang
 */
public interface MsgPushApi {
    /**
     * 推送任务消息, 支持站内消息推送
     */
    void push(MsgPushParam req);

    void checkNoAuthUserCaptcha(CheckNoAuthUserCaptchaReq req);

    void checkAuthUserCaptcha(CheckAuthUserCaptchaReq req);

    /**
     * 发送给没有授权用户的验证码(即未登录)
     */
    void sendNoAuthUserCaptcha(SendCaptchaMsgReq req);

    /**
     * 通过消息通知编码获取第三方模板id
     * @param noticeCodes 通知编码
     */
    List<String> listTemplateIdsByCodes(NoticeCodeEnum... noticeCodes);
}
